home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1995 #5 & #6
/
Amiga Plus CD - 1995 - No. 5 and 6.iso
/
pd
/
netz
/
term
/
extras
/
source
/
gtlayout-source.lha
/
LTP_FillMenu.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-03-25
|
1KB
|
86 lines
/* GadTools layout toolkit
**
** Copyright © 1993-1995 by Olaf `Olsen' Barthel
** Freely distributable.
**
** :ts=4
*/
#include "gtlayout_global.h"
#ifdef DO_MENUS
/* LTP_FillSub(struct MenuItem *Item):
*
* Fill in the submenu item IDs.
*/
VOID __regargs
LTP_FillSub(struct MenuItem *Item)
{
ULONG Count = 0;
ItemNode *Node;
do
{
Node = (ItemNode *)((ULONG)Item - sizeof(struct MinNode));
Node -> MenuCode = NOMENU | NOITEM | SHIFTSUB(Count);
Count++;
}
while(Item = Item -> NextItem);
}
/* FillItem(struct MenuItem *Item):
*
* Fill in the menu item IDs.
*/
VOID __regargs
LTP_FillItem(struct MenuItem *Item)
{
ULONG Count = 0;
ItemNode *Node;
do
{
Node = (ItemNode *)((ULONG)Item - sizeof(struct MinNode));
Node -> MenuCode = NOMENU | SHIFTITEM(Count) | NOSUB;
if(Item -> SubItem)
LTP_FillSub(Item -> SubItem);
Count++;
}
while(Item = Item -> NextItem);
}
/* LTP_FillMenu(struct Menu *Menu):
*
* Fill in the menu IDs.
*/
VOID __regargs
LTP_FillMenu(struct Menu *Menu)
{
ULONG Count = 0;
MenuNode *Node;
do
{
Node = (MenuNode *)((ULONG)Menu - sizeof(struct MinNode));
Node -> MenuCode = SHIFTMENU(Count) | NOITEM | NOSUB;
if(Menu -> FirstItem)
LTP_FillItem(Menu -> FirstItem);
Count++;
}
while(Menu = Menu -> NextMenu);
}
#endif /* DO_MENUS */